package com.ruoyi.vqms.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 排队
 */
@Data
public class VQMSQueue extends BaseEntity {
    /**
     * id
     */
    private Long id;
    /**
     * 工厂id
     */
    private Long factoryId;
    /**
     * 预约id
     */
    private Long reservationId;
    /**
     * 排队队列id
     */
    private Long areaId;
    /**
     * 当前排队序号
     */
    private Integer queueIndex;
    /**
     * 状态 1：排队中 2：装卸货中 3：已完成
     */
    @Excel(name = "状态",readConverterExp="1=排队中,2=装卸货中,3=已完成")
    private Integer status;
    /**
     * 开始排队时间
     */
    private Date queueTime;
    /**
     * 开始装卸货时间
     */
    @Excel(name = "开始装卸货时间",dateFormat = "YYYY-MM-DD HH:mm:ss")
    private Date loadingTime;
    /**
     * 装卸货完成时间
     */
    @Excel(name = "装卸货完成时间",dateFormat = "YYYY-MM-DD HH:mm:ss")
    private Date endTime;
    /**
     * 开始排队时间
     */
    @Excel(name = "开始排队时间",dateFormat = "YYYY-MM-DD HH:mm:ss")
    private Date actualQueueTime;
    /**
     * 所属工厂
     */
    @Excel(name = "所属工厂")
    @TableField(exist = false)
    private String factoryName;
    /**
     * 排队队列名称
     */
    @Excel(name = "排队队列名称")
    @TableField(exist = false)
    private String areaName;
    /**
     * 司机名称
     */
    @Excel(name = "司机名称")
    @TableField(exist = false)
    private String driverName;
    /**
     * 司机手机号
     */
    @Excel(name = "司机手机号")
    @TableField(exist = false)
    private String driverPhone;
    /**
     * 车牌号
     */
    @Excel(name = "车牌号")
    @TableField(exist = false)
    private String licensePlate;
    /**
     * 库位
     */
    @Excel(name = "库位")
    @TableField(exist = false)
    private String storehouseLocationName;
    /**
     * 类型1：卸货，2：自卸 3：自提 4：退货 5：其他
     */
    @TableField(exist = false)
    @Excel(name = "类型",readConverterExp="1=卸货,2=自卸,3=自提,4=退货,5=其他")
    private Integer loadingType;
    /**
     * 更换的队列id
     */
    @TableField(exist = false)
    private Long newAreaId;
    /**
     * 装卸货单号
     */
    @TableField(exist = false)
    private String loadingNo;
    /**
     * 仓管员绑定库位名称列表
     */
    @TableField(exist = false)
    private List<String> locationList;
    /**
     * 加急状态（1：正常，2：加急）
     */
    private Long expedited;

}
